// site.isscloud.project.service.IPjLocationTemperatureService
package site.isscloud.project.service;

import site.isscloud.project.domain.PjStatsLocationTemperatureMinute;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 空间位置温度统计Service接口
 */
public interface IPjStatsLocationTemperatureMinuteService {
    /**
     * 生成空间位置温度统计数据（无参版本，自动计算上一分钟）
     */
    public void generateLocationTemperatureMinuteStats();

    /**
     * 生成空间位置温度统计数据
     *
     * @param statTime 统计时间
     */
    public void generateLocationTemperatureMinuteStats(Date statTime);

    /**
         * 获取最新统计时间的所有位置温度数据
     */
    List<PjStatsLocationTemperatureMinute> getAllLatestLocationTemperatureStats();

    /**
     * 获取指定设备通道的最新位置温度数据
     */
    List<PjStatsLocationTemperatureMinute> getLatestLocationTemperatureStatsByDeviceChannel(String deviceNo, Integer channelNo);

    /**
     * 批量获取多个设备通道的最新位置温度数据
     * @param deviceChannelMaps List<Map>格式，每个Map包含deviceNo和channelNo
     */
    List<PjStatsLocationTemperatureMinute> getLatestLocationTemperatureStatsByDeviceChannels(List<Map<String, Object>> deviceChannelMaps);
}